package com.xyz.entity.pojo;

import java.util.ArrayList;
import java.util.Date;
import java.util.List;

public class RepairWorkOrderExample {
    protected String orderByClause;

    protected boolean distinct;

    protected List<Criteria> oredCriteria;

    public RepairWorkOrderExample() {
        oredCriteria = new ArrayList<Criteria>();
    }

    public void setOrderByClause(String orderByClause) {
        this.orderByClause = orderByClause;
    }

    public String getOrderByClause() {
        return orderByClause;
    }

    public void setDistinct(boolean distinct) {
        this.distinct = distinct;
    }

    public boolean isDistinct() {
        return distinct;
    }

    public List<Criteria> getOredCriteria() {
        return oredCriteria;
    }

    public void or(Criteria criteria) {
        oredCriteria.add(criteria);
    }

    public Criteria or() {
        Criteria criteria = createCriteriaInternal();
        oredCriteria.add(criteria);
        return criteria;
    }

    public Criteria createCriteria() {
        Criteria criteria = createCriteriaInternal();
        if (oredCriteria.size() == 0) {
            oredCriteria.add(criteria);
        }
        return criteria;
    }

    protected Criteria createCriteriaInternal() {
        Criteria criteria = new Criteria();
        return criteria;
    }

    public void clear() {
        oredCriteria.clear();
        orderByClause = null;
        distinct = false;
    }

    protected abstract static class GeneratedCriteria {
        protected List<Criterion> criteria;

        protected GeneratedCriteria() {
            super();
            criteria = new ArrayList<Criterion>();
        }

        public boolean isValid() {
            return criteria.size() > 0;
        }

        public List<Criterion> getAllCriteria() {
            return criteria;
        }

        public List<Criterion> getCriteria() {
            return criteria;
        }

        protected void addCriterion(String condition) {
            if (condition == null) {
                throw new RuntimeException("Value for condition cannot be null");
            }
            criteria.add(new Criterion(condition));
        }

        protected void addCriterion(String condition, Object value, String property) {
            if (value == null) {
                throw new RuntimeException("Value for " + property + " cannot be null");
            }
            criteria.add(new Criterion(condition, value));
        }

        protected void addCriterion(String condition, Object value1, Object value2, String property) {
            if (value1 == null || value2 == null) {
                throw new RuntimeException("Between values for " + property + " cannot be null");
            }
            criteria.add(new Criterion(condition, value1, value2));
        }

        public Criteria andRepIdIsNull() {
            addCriterion("rep_id is null");
            return (Criteria) this;
        }

        public Criteria andRepIdIsNotNull() {
            addCriterion("rep_id is not null");
            return (Criteria) this;
        }

        public Criteria andRepIdEqualTo(Long value) {
            addCriterion("rep_id =", value, "repId");
            return (Criteria) this;
        }

        public Criteria andRepIdNotEqualTo(Long value) {
            addCriterion("rep_id <>", value, "repId");
            return (Criteria) this;
        }

        public Criteria andRepIdGreaterThan(Long value) {
            addCriterion("rep_id >", value, "repId");
            return (Criteria) this;
        }

        public Criteria andRepIdGreaterThanOrEqualTo(Long value) {
            addCriterion("rep_id >=", value, "repId");
            return (Criteria) this;
        }

        public Criteria andRepIdLessThan(Long value) {
            addCriterion("rep_id <", value, "repId");
            return (Criteria) this;
        }

        public Criteria andRepIdLessThanOrEqualTo(Long value) {
            addCriterion("rep_id <=", value, "repId");
            return (Criteria) this;
        }

        public Criteria andRepIdIn(List<Long> values) {
            addCriterion("rep_id in", values, "repId");
            return (Criteria) this;
        }

        public Criteria andRepIdNotIn(List<Long> values) {
            addCriterion("rep_id not in", values, "repId");
            return (Criteria) this;
        }

        public Criteria andRepIdBetween(Long value1, Long value2) {
            addCriterion("rep_id between", value1, value2, "repId");
            return (Criteria) this;
        }

        public Criteria andRepIdNotBetween(Long value1, Long value2) {
            addCriterion("rep_id not between", value1, value2, "repId");
            return (Criteria) this;
        }

        public Criteria andWorkOrderCodeIsNull() {
            addCriterion("work_order_code is null");
            return (Criteria) this;
        }

        public Criteria andWorkOrderCodeIsNotNull() {
            addCriterion("work_order_code is not null");
            return (Criteria) this;
        }

        public Criteria andWorkOrderCodeEqualTo(String value) {
            addCriterion("work_order_code =", value, "workOrderCode");
            return (Criteria) this;
        }

        public Criteria andWorkOrderCodeNotEqualTo(String value) {
            addCriterion("work_order_code <>", value, "workOrderCode");
            return (Criteria) this;
        }

        public Criteria andWorkOrderCodeGreaterThan(String value) {
            addCriterion("work_order_code >", value, "workOrderCode");
            return (Criteria) this;
        }

        public Criteria andWorkOrderCodeGreaterThanOrEqualTo(String value) {
            addCriterion("work_order_code >=", value, "workOrderCode");
            return (Criteria) this;
        }

        public Criteria andWorkOrderCodeLessThan(String value) {
            addCriterion("work_order_code <", value, "workOrderCode");
            return (Criteria) this;
        }

        public Criteria andWorkOrderCodeLessThanOrEqualTo(String value) {
            addCriterion("work_order_code <=", value, "workOrderCode");
            return (Criteria) this;
        }

        public Criteria andWorkOrderCodeLike(String value) {
            addCriterion("work_order_code like", value, "workOrderCode");
            return (Criteria) this;
        }

        public Criteria andWorkOrderCodeNotLike(String value) {
            addCriterion("work_order_code not like", value, "workOrderCode");
            return (Criteria) this;
        }

        public Criteria andWorkOrderCodeIn(List<String> values) {
            addCriterion("work_order_code in", values, "workOrderCode");
            return (Criteria) this;
        }

        public Criteria andWorkOrderCodeNotIn(List<String> values) {
            addCriterion("work_order_code not in", values, "workOrderCode");
            return (Criteria) this;
        }

        public Criteria andWorkOrderCodeBetween(String value1, String value2) {
            addCriterion("work_order_code between", value1, value2, "workOrderCode");
            return (Criteria) this;
        }

        public Criteria andWorkOrderCodeNotBetween(String value1, String value2) {
            addCriterion("work_order_code not between", value1, value2, "workOrderCode");
            return (Criteria) this;
        }

        public Criteria andEmIdIsNull() {
            addCriterion("em_id is null");
            return (Criteria) this;
        }

        public Criteria andEmIdIsNotNull() {
            addCriterion("em_id is not null");
            return (Criteria) this;
        }

        public Criteria andEmIdEqualTo(Long value) {
            addCriterion("em_id =", value, "emId");
            return (Criteria) this;
        }

        public Criteria andEmIdNotEqualTo(Long value) {
            addCriterion("em_id <>", value, "emId");
            return (Criteria) this;
        }

        public Criteria andEmIdGreaterThan(Long value) {
            addCriterion("em_id >", value, "emId");
            return (Criteria) this;
        }

        public Criteria andEmIdGreaterThanOrEqualTo(Long value) {
            addCriterion("em_id >=", value, "emId");
            return (Criteria) this;
        }

        public Criteria andEmIdLessThan(Long value) {
            addCriterion("em_id <", value, "emId");
            return (Criteria) this;
        }

        public Criteria andEmIdLessThanOrEqualTo(Long value) {
            addCriterion("em_id <=", value, "emId");
            return (Criteria) this;
        }

        public Criteria andEmIdIn(List<Long> values) {
            addCriterion("em_id in", values, "emId");
            return (Criteria) this;
        }

        public Criteria andEmIdNotIn(List<Long> values) {
            addCriterion("em_id not in", values, "emId");
            return (Criteria) this;
        }

        public Criteria andEmIdBetween(Long value1, Long value2) {
            addCriterion("em_id between", value1, value2, "emId");
            return (Criteria) this;
        }

        public Criteria andEmIdNotBetween(Long value1, Long value2) {
            addCriterion("em_id not between", value1, value2, "emId");
            return (Criteria) this;
        }

        public Criteria andEmNameIsNull() {
            addCriterion("em_name is null");
            return (Criteria) this;
        }

        public Criteria andEmNameIsNotNull() {
            addCriterion("em_name is not null");
            return (Criteria) this;
        }

        public Criteria andEmNameEqualTo(String value) {
            addCriterion("em_name =", value, "emName");
            return (Criteria) this;
        }

        public Criteria andEmNameNotEqualTo(String value) {
            addCriterion("em_name <>", value, "emName");
            return (Criteria) this;
        }

        public Criteria andEmNameGreaterThan(String value) {
            addCriterion("em_name >", value, "emName");
            return (Criteria) this;
        }

        public Criteria andEmNameGreaterThanOrEqualTo(String value) {
            addCriterion("em_name >=", value, "emName");
            return (Criteria) this;
        }

        public Criteria andEmNameLessThan(String value) {
            addCriterion("em_name <", value, "emName");
            return (Criteria) this;
        }

        public Criteria andEmNameLessThanOrEqualTo(String value) {
            addCriterion("em_name <=", value, "emName");
            return (Criteria) this;
        }

        public Criteria andEmNameLike(String value) {
            addCriterion("em_name like", value, "emName");
            return (Criteria) this;
        }

        public Criteria andEmNameNotLike(String value) {
            addCriterion("em_name not like", value, "emName");
            return (Criteria) this;
        }

        public Criteria andEmNameIn(List<String> values) {
            addCriterion("em_name in", values, "emName");
            return (Criteria) this;
        }

        public Criteria andEmNameNotIn(List<String> values) {
            addCriterion("em_name not in", values, "emName");
            return (Criteria) this;
        }

        public Criteria andEmNameBetween(String value1, String value2) {
            addCriterion("em_name between", value1, value2, "emName");
            return (Criteria) this;
        }

        public Criteria andEmNameNotBetween(String value1, String value2) {
            addCriterion("em_name not between", value1, value2, "emName");
            return (Criteria) this;
        }

        public Criteria andEmCodeIsNull() {
            addCriterion("em_code is null");
            return (Criteria) this;
        }

        public Criteria andEmCodeIsNotNull() {
            addCriterion("em_code is not null");
            return (Criteria) this;
        }

        public Criteria andEmCodeEqualTo(String value) {
            addCriterion("em_code =", value, "emCode");
            return (Criteria) this;
        }

        public Criteria andEmCodeNotEqualTo(String value) {
            addCriterion("em_code <>", value, "emCode");
            return (Criteria) this;
        }

        public Criteria andEmCodeGreaterThan(String value) {
            addCriterion("em_code >", value, "emCode");
            return (Criteria) this;
        }

        public Criteria andEmCodeGreaterThanOrEqualTo(String value) {
            addCriterion("em_code >=", value, "emCode");
            return (Criteria) this;
        }

        public Criteria andEmCodeLessThan(String value) {
            addCriterion("em_code <", value, "emCode");
            return (Criteria) this;
        }

        public Criteria andEmCodeLessThanOrEqualTo(String value) {
            addCriterion("em_code <=", value, "emCode");
            return (Criteria) this;
        }

        public Criteria andEmCodeLike(String value) {
            addCriterion("em_code like", value, "emCode");
            return (Criteria) this;
        }

        public Criteria andEmCodeNotLike(String value) {
            addCriterion("em_code not like", value, "emCode");
            return (Criteria) this;
        }

        public Criteria andEmCodeIn(List<String> values) {
            addCriterion("em_code in", values, "emCode");
            return (Criteria) this;
        }

        public Criteria andEmCodeNotIn(List<String> values) {
            addCriterion("em_code not in", values, "emCode");
            return (Criteria) this;
        }

        public Criteria andEmCodeBetween(String value1, String value2) {
            addCriterion("em_code between", value1, value2, "emCode");
            return (Criteria) this;
        }

        public Criteria andEmCodeNotBetween(String value1, String value2) {
            addCriterion("em_code not between", value1, value2, "emCode");
            return (Criteria) this;
        }

        public Criteria andEmSpecificationIsNull() {
            addCriterion("em_specification is null");
            return (Criteria) this;
        }

        public Criteria andEmSpecificationIsNotNull() {
            addCriterion("em_specification is not null");
            return (Criteria) this;
        }

        public Criteria andEmSpecificationEqualTo(String value) {
            addCriterion("em_specification =", value, "emSpecification");
            return (Criteria) this;
        }

        public Criteria andEmSpecificationNotEqualTo(String value) {
            addCriterion("em_specification <>", value, "emSpecification");
            return (Criteria) this;
        }

        public Criteria andEmSpecificationGreaterThan(String value) {
            addCriterion("em_specification >", value, "emSpecification");
            return (Criteria) this;
        }

        public Criteria andEmSpecificationGreaterThanOrEqualTo(String value) {
            addCriterion("em_specification >=", value, "emSpecification");
            return (Criteria) this;
        }

        public Criteria andEmSpecificationLessThan(String value) {
            addCriterion("em_specification <", value, "emSpecification");
            return (Criteria) this;
        }

        public Criteria andEmSpecificationLessThanOrEqualTo(String value) {
            addCriterion("em_specification <=", value, "emSpecification");
            return (Criteria) this;
        }

        public Criteria andEmSpecificationLike(String value) {
            addCriterion("em_specification like", value, "emSpecification");
            return (Criteria) this;
        }

        public Criteria andEmSpecificationNotLike(String value) {
            addCriterion("em_specification not like", value, "emSpecification");
            return (Criteria) this;
        }

        public Criteria andEmSpecificationIn(List<String> values) {
            addCriterion("em_specification in", values, "emSpecification");
            return (Criteria) this;
        }

        public Criteria andEmSpecificationNotIn(List<String> values) {
            addCriterion("em_specification not in", values, "emSpecification");
            return (Criteria) this;
        }

        public Criteria andEmSpecificationBetween(String value1, String value2) {
            addCriterion("em_specification between", value1, value2, "emSpecification");
            return (Criteria) this;
        }

        public Criteria andEmSpecificationNotBetween(String value1, String value2) {
            addCriterion("em_specification not between", value1, value2, "emSpecification");
            return (Criteria) this;
        }

        public Criteria andEmLocationIsNull() {
            addCriterion("em_location is null");
            return (Criteria) this;
        }

        public Criteria andEmLocationIsNotNull() {
            addCriterion("em_location is not null");
            return (Criteria) this;
        }

        public Criteria andEmLocationEqualTo(String value) {
            addCriterion("em_location =", value, "emLocation");
            return (Criteria) this;
        }

        public Criteria andEmLocationNotEqualTo(String value) {
            addCriterion("em_location <>", value, "emLocation");
            return (Criteria) this;
        }

        public Criteria andEmLocationGreaterThan(String value) {
            addCriterion("em_location >", value, "emLocation");
            return (Criteria) this;
        }

        public Criteria andEmLocationGreaterThanOrEqualTo(String value) {
            addCriterion("em_location >=", value, "emLocation");
            return (Criteria) this;
        }

        public Criteria andEmLocationLessThan(String value) {
            addCriterion("em_location <", value, "emLocation");
            return (Criteria) this;
        }

        public Criteria andEmLocationLessThanOrEqualTo(String value) {
            addCriterion("em_location <=", value, "emLocation");
            return (Criteria) this;
        }

        public Criteria andEmLocationLike(String value) {
            addCriterion("em_location like", value, "emLocation");
            return (Criteria) this;
        }

        public Criteria andEmLocationNotLike(String value) {
            addCriterion("em_location not like", value, "emLocation");
            return (Criteria) this;
        }

        public Criteria andEmLocationIn(List<String> values) {
            addCriterion("em_location in", values, "emLocation");
            return (Criteria) this;
        }

        public Criteria andEmLocationNotIn(List<String> values) {
            addCriterion("em_location not in", values, "emLocation");
            return (Criteria) this;
        }

        public Criteria andEmLocationBetween(String value1, String value2) {
            addCriterion("em_location between", value1, value2, "emLocation");
            return (Criteria) this;
        }

        public Criteria andEmLocationNotBetween(String value1, String value2) {
            addCriterion("em_location not between", value1, value2, "emLocation");
            return (Criteria) this;
        }

        public Criteria andTreeIdIsNull() {
            addCriterion("tree_id is null");
            return (Criteria) this;
        }

        public Criteria andTreeIdIsNotNull() {
            addCriterion("tree_id is not null");
            return (Criteria) this;
        }

        public Criteria andTreeIdEqualTo(Long value) {
            addCriterion("tree_id =", value, "treeId");
            return (Criteria) this;
        }

        public Criteria andTreeIdNotEqualTo(Long value) {
            addCriterion("tree_id <>", value, "treeId");
            return (Criteria) this;
        }

        public Criteria andTreeIdGreaterThan(Long value) {
            addCriterion("tree_id >", value, "treeId");
            return (Criteria) this;
        }

        public Criteria andTreeIdGreaterThanOrEqualTo(Long value) {
            addCriterion("tree_id >=", value, "treeId");
            return (Criteria) this;
        }

        public Criteria andTreeIdLessThan(Long value) {
            addCriterion("tree_id <", value, "treeId");
            return (Criteria) this;
        }

        public Criteria andTreeIdLessThanOrEqualTo(Long value) {
            addCriterion("tree_id <=", value, "treeId");
            return (Criteria) this;
        }

        public Criteria andTreeIdIn(List<Long> values) {
            addCriterion("tree_id in", values, "treeId");
            return (Criteria) this;
        }

        public Criteria andTreeIdNotIn(List<Long> values) {
            addCriterion("tree_id not in", values, "treeId");
            return (Criteria) this;
        }

        public Criteria andTreeIdBetween(Long value1, Long value2) {
            addCriterion("tree_id between", value1, value2, "treeId");
            return (Criteria) this;
        }

        public Criteria andTreeIdNotBetween(Long value1, Long value2) {
            addCriterion("tree_id not between", value1, value2, "treeId");
            return (Criteria) this;
        }

        public Criteria andTreeNameIsNull() {
            addCriterion("tree_name is null");
            return (Criteria) this;
        }

        public Criteria andTreeNameIsNotNull() {
            addCriterion("tree_name is not null");
            return (Criteria) this;
        }

        public Criteria andTreeNameEqualTo(String value) {
            addCriterion("tree_name =", value, "treeName");
            return (Criteria) this;
        }

        public Criteria andTreeNameNotEqualTo(String value) {
            addCriterion("tree_name <>", value, "treeName");
            return (Criteria) this;
        }

        public Criteria andTreeNameGreaterThan(String value) {
            addCriterion("tree_name >", value, "treeName");
            return (Criteria) this;
        }

        public Criteria andTreeNameGreaterThanOrEqualTo(String value) {
            addCriterion("tree_name >=", value, "treeName");
            return (Criteria) this;
        }

        public Criteria andTreeNameLessThan(String value) {
            addCriterion("tree_name <", value, "treeName");
            return (Criteria) this;
        }

        public Criteria andTreeNameLessThanOrEqualTo(String value) {
            addCriterion("tree_name <=", value, "treeName");
            return (Criteria) this;
        }

        public Criteria andTreeNameLike(String value) {
            addCriterion("tree_name like", value, "treeName");
            return (Criteria) this;
        }

        public Criteria andTreeNameNotLike(String value) {
            addCriterion("tree_name not like", value, "treeName");
            return (Criteria) this;
        }

        public Criteria andTreeNameIn(List<String> values) {
            addCriterion("tree_name in", values, "treeName");
            return (Criteria) this;
        }

        public Criteria andTreeNameNotIn(List<String> values) {
            addCriterion("tree_name not in", values, "treeName");
            return (Criteria) this;
        }

        public Criteria andTreeNameBetween(String value1, String value2) {
            addCriterion("tree_name between", value1, value2, "treeName");
            return (Criteria) this;
        }

        public Criteria andTreeNameNotBetween(String value1, String value2) {
            addCriterion("tree_name not between", value1, value2, "treeName");
            return (Criteria) this;
        }

        public Criteria andEmployeeIdIsNull() {
            addCriterion("employee_id is null");
            return (Criteria) this;
        }

        public Criteria andEmployeeIdIsNotNull() {
            addCriterion("employee_id is not null");
            return (Criteria) this;
        }

        public Criteria andEmployeeIdEqualTo(Long value) {
            addCriterion("employee_id =", value, "employeeId");
            return (Criteria) this;
        }

        public Criteria andEmployeeIdNotEqualTo(Long value) {
            addCriterion("employee_id <>", value, "employeeId");
            return (Criteria) this;
        }

        public Criteria andEmployeeIdGreaterThan(Long value) {
            addCriterion("employee_id >", value, "employeeId");
            return (Criteria) this;
        }

        public Criteria andEmployeeIdGreaterThanOrEqualTo(Long value) {
            addCriterion("employee_id >=", value, "employeeId");
            return (Criteria) this;
        }

        public Criteria andEmployeeIdLessThan(Long value) {
            addCriterion("employee_id <", value, "employeeId");
            return (Criteria) this;
        }

        public Criteria andEmployeeIdLessThanOrEqualTo(Long value) {
            addCriterion("employee_id <=", value, "employeeId");
            return (Criteria) this;
        }

        public Criteria andEmployeeIdIn(List<Long> values) {
            addCriterion("employee_id in", values, "employeeId");
            return (Criteria) this;
        }

        public Criteria andEmployeeIdNotIn(List<Long> values) {
            addCriterion("employee_id not in", values, "employeeId");
            return (Criteria) this;
        }

        public Criteria andEmployeeIdBetween(Long value1, Long value2) {
            addCriterion("employee_id between", value1, value2, "employeeId");
            return (Criteria) this;
        }

        public Criteria andEmployeeIdNotBetween(Long value1, Long value2) {
            addCriterion("employee_id not between", value1, value2, "employeeId");
            return (Criteria) this;
        }

        public Criteria andRepFaultTypeIsNull() {
            addCriterion("rep_fault_type is null");
            return (Criteria) this;
        }

        public Criteria andRepFaultTypeIsNotNull() {
            addCriterion("rep_fault_type is not null");
            return (Criteria) this;
        }

        public Criteria andRepFaultTypeEqualTo(Integer value) {
            addCriterion("rep_fault_type =", value, "repFaultType");
            return (Criteria) this;
        }

        public Criteria andRepFaultTypeNotEqualTo(Integer value) {
            addCriterion("rep_fault_type <>", value, "repFaultType");
            return (Criteria) this;
        }

        public Criteria andRepFaultTypeGreaterThan(Integer value) {
            addCriterion("rep_fault_type >", value, "repFaultType");
            return (Criteria) this;
        }

        public Criteria andRepFaultTypeGreaterThanOrEqualTo(Integer value) {
            addCriterion("rep_fault_type >=", value, "repFaultType");
            return (Criteria) this;
        }

        public Criteria andRepFaultTypeLessThan(Integer value) {
            addCriterion("rep_fault_type <", value, "repFaultType");
            return (Criteria) this;
        }

        public Criteria andRepFaultTypeLessThanOrEqualTo(Integer value) {
            addCriterion("rep_fault_type <=", value, "repFaultType");
            return (Criteria) this;
        }

        public Criteria andRepFaultTypeIn(List<Integer> values) {
            addCriterion("rep_fault_type in", values, "repFaultType");
            return (Criteria) this;
        }

        public Criteria andRepFaultTypeNotIn(List<Integer> values) {
            addCriterion("rep_fault_type not in", values, "repFaultType");
            return (Criteria) this;
        }

        public Criteria andRepFaultTypeBetween(Integer value1, Integer value2) {
            addCriterion("rep_fault_type between", value1, value2, "repFaultType");
            return (Criteria) this;
        }

        public Criteria andRepFaultTypeNotBetween(Integer value1, Integer value2) {
            addCriterion("rep_fault_type not between", value1, value2, "repFaultType");
            return (Criteria) this;
        }

        public Criteria andUrgencyLevelIsNull() {
            addCriterion("urgency_level is null");
            return (Criteria) this;
        }

        public Criteria andUrgencyLevelIsNotNull() {
            addCriterion("urgency_level is not null");
            return (Criteria) this;
        }

        public Criteria andUrgencyLevelEqualTo(Integer value) {
            addCriterion("urgency_level =", value, "urgencyLevel");
            return (Criteria) this;
        }

        public Criteria andUrgencyLevelNotEqualTo(Integer value) {
            addCriterion("urgency_level <>", value, "urgencyLevel");
            return (Criteria) this;
        }

        public Criteria andUrgencyLevelGreaterThan(Integer value) {
            addCriterion("urgency_level >", value, "urgencyLevel");
            return (Criteria) this;
        }

        public Criteria andUrgencyLevelGreaterThanOrEqualTo(Integer value) {
            addCriterion("urgency_level >=", value, "urgencyLevel");
            return (Criteria) this;
        }

        public Criteria andUrgencyLevelLessThan(Integer value) {
            addCriterion("urgency_level <", value, "urgencyLevel");
            return (Criteria) this;
        }

        public Criteria andUrgencyLevelLessThanOrEqualTo(Integer value) {
            addCriterion("urgency_level <=", value, "urgencyLevel");
            return (Criteria) this;
        }

        public Criteria andUrgencyLevelIn(List<Integer> values) {
            addCriterion("urgency_level in", values, "urgencyLevel");
            return (Criteria) this;
        }

        public Criteria andUrgencyLevelNotIn(List<Integer> values) {
            addCriterion("urgency_level not in", values, "urgencyLevel");
            return (Criteria) this;
        }

        public Criteria andUrgencyLevelBetween(Integer value1, Integer value2) {
            addCriterion("urgency_level between", value1, value2, "urgencyLevel");
            return (Criteria) this;
        }

        public Criteria andUrgencyLevelNotBetween(Integer value1, Integer value2) {
            addCriterion("urgency_level not between", value1, value2, "urgencyLevel");
            return (Criteria) this;
        }

        public Criteria andRepEmStateIsNull() {
            addCriterion("rep_em_state is null");
            return (Criteria) this;
        }

        public Criteria andRepEmStateIsNotNull() {
            addCriterion("rep_em_state is not null");
            return (Criteria) this;
        }

        public Criteria andRepEmStateEqualTo(Integer value) {
            addCriterion("rep_em_state =", value, "repEmState");
            return (Criteria) this;
        }

        public Criteria andRepEmStateNotEqualTo(Integer value) {
            addCriterion("rep_em_state <>", value, "repEmState");
            return (Criteria) this;
        }

        public Criteria andRepEmStateGreaterThan(Integer value) {
            addCriterion("rep_em_state >", value, "repEmState");
            return (Criteria) this;
        }

        public Criteria andRepEmStateGreaterThanOrEqualTo(Integer value) {
            addCriterion("rep_em_state >=", value, "repEmState");
            return (Criteria) this;
        }

        public Criteria andRepEmStateLessThan(Integer value) {
            addCriterion("rep_em_state <", value, "repEmState");
            return (Criteria) this;
        }

        public Criteria andRepEmStateLessThanOrEqualTo(Integer value) {
            addCriterion("rep_em_state <=", value, "repEmState");
            return (Criteria) this;
        }

        public Criteria andRepEmStateIn(List<Integer> values) {
            addCriterion("rep_em_state in", values, "repEmState");
            return (Criteria) this;
        }

        public Criteria andRepEmStateNotIn(List<Integer> values) {
            addCriterion("rep_em_state not in", values, "repEmState");
            return (Criteria) this;
        }

        public Criteria andRepEmStateBetween(Integer value1, Integer value2) {
            addCriterion("rep_em_state between", value1, value2, "repEmState");
            return (Criteria) this;
        }

        public Criteria andRepEmStateNotBetween(Integer value1, Integer value2) {
            addCriterion("rep_em_state not between", value1, value2, "repEmState");
            return (Criteria) this;
        }

        public Criteria andEmStateDescIsNull() {
            addCriterion("em_state_desc is null");
            return (Criteria) this;
        }

        public Criteria andEmStateDescIsNotNull() {
            addCriterion("em_state_desc is not null");
            return (Criteria) this;
        }

        public Criteria andEmStateDescEqualTo(String value) {
            addCriterion("em_state_desc =", value, "emStateDesc");
            return (Criteria) this;
        }

        public Criteria andEmStateDescNotEqualTo(String value) {
            addCriterion("em_state_desc <>", value, "emStateDesc");
            return (Criteria) this;
        }

        public Criteria andEmStateDescGreaterThan(String value) {
            addCriterion("em_state_desc >", value, "emStateDesc");
            return (Criteria) this;
        }

        public Criteria andEmStateDescGreaterThanOrEqualTo(String value) {
            addCriterion("em_state_desc >=", value, "emStateDesc");
            return (Criteria) this;
        }

        public Criteria andEmStateDescLessThan(String value) {
            addCriterion("em_state_desc <", value, "emStateDesc");
            return (Criteria) this;
        }

        public Criteria andEmStateDescLessThanOrEqualTo(String value) {
            addCriterion("em_state_desc <=", value, "emStateDesc");
            return (Criteria) this;
        }

        public Criteria andEmStateDescLike(String value) {
            addCriterion("em_state_desc like", value, "emStateDesc");
            return (Criteria) this;
        }

        public Criteria andEmStateDescNotLike(String value) {
            addCriterion("em_state_desc not like", value, "emStateDesc");
            return (Criteria) this;
        }

        public Criteria andEmStateDescIn(List<String> values) {
            addCriterion("em_state_desc in", values, "emStateDesc");
            return (Criteria) this;
        }

        public Criteria andEmStateDescNotIn(List<String> values) {
            addCriterion("em_state_desc not in", values, "emStateDesc");
            return (Criteria) this;
        }

        public Criteria andEmStateDescBetween(String value1, String value2) {
            addCriterion("em_state_desc between", value1, value2, "emStateDesc");
            return (Criteria) this;
        }

        public Criteria andEmStateDescNotBetween(String value1, String value2) {
            addCriterion("em_state_desc not between", value1, value2, "emStateDesc");
            return (Criteria) this;
        }

        public Criteria andRepDescIsNull() {
            addCriterion("rep_desc is null");
            return (Criteria) this;
        }

        public Criteria andRepDescIsNotNull() {
            addCriterion("rep_desc is not null");
            return (Criteria) this;
        }

        public Criteria andRepDescEqualTo(String value) {
            addCriterion("rep_desc =", value, "repDesc");
            return (Criteria) this;
        }

        public Criteria andRepDescNotEqualTo(String value) {
            addCriterion("rep_desc <>", value, "repDesc");
            return (Criteria) this;
        }

        public Criteria andRepDescGreaterThan(String value) {
            addCriterion("rep_desc >", value, "repDesc");
            return (Criteria) this;
        }

        public Criteria andRepDescGreaterThanOrEqualTo(String value) {
            addCriterion("rep_desc >=", value, "repDesc");
            return (Criteria) this;
        }

        public Criteria andRepDescLessThan(String value) {
            addCriterion("rep_desc <", value, "repDesc");
            return (Criteria) this;
        }

        public Criteria andRepDescLessThanOrEqualTo(String value) {
            addCriterion("rep_desc <=", value, "repDesc");
            return (Criteria) this;
        }

        public Criteria andRepDescLike(String value) {
            addCriterion("rep_desc like", value, "repDesc");
            return (Criteria) this;
        }

        public Criteria andRepDescNotLike(String value) {
            addCriterion("rep_desc not like", value, "repDesc");
            return (Criteria) this;
        }

        public Criteria andRepDescIn(List<String> values) {
            addCriterion("rep_desc in", values, "repDesc");
            return (Criteria) this;
        }

        public Criteria andRepDescNotIn(List<String> values) {
            addCriterion("rep_desc not in", values, "repDesc");
            return (Criteria) this;
        }

        public Criteria andRepDescBetween(String value1, String value2) {
            addCriterion("rep_desc between", value1, value2, "repDesc");
            return (Criteria) this;
        }

        public Criteria andRepDescNotBetween(String value1, String value2) {
            addCriterion("rep_desc not between", value1, value2, "repDesc");
            return (Criteria) this;
        }

        public Criteria andRepStateIsNull() {
            addCriterion("rep_state is null");
            return (Criteria) this;
        }

        public Criteria andRepStateIsNotNull() {
            addCriterion("rep_state is not null");
            return (Criteria) this;
        }

        public Criteria andRepStateEqualTo(Integer value) {
            addCriterion("rep_state =", value, "repState");
            return (Criteria) this;
        }

        public Criteria andRepStateNotEqualTo(Integer value) {
            addCriterion("rep_state <>", value, "repState");
            return (Criteria) this;
        }

        public Criteria andRepStateGreaterThan(Integer value) {
            addCriterion("rep_state >", value, "repState");
            return (Criteria) this;
        }

        public Criteria andRepStateGreaterThanOrEqualTo(Integer value) {
            addCriterion("rep_state >=", value, "repState");
            return (Criteria) this;
        }

        public Criteria andRepStateLessThan(Integer value) {
            addCriterion("rep_state <", value, "repState");
            return (Criteria) this;
        }

        public Criteria andRepStateLessThanOrEqualTo(Integer value) {
            addCriterion("rep_state <=", value, "repState");
            return (Criteria) this;
        }

        public Criteria andRepStateIn(List<Integer> values) {
            addCriterion("rep_state in", values, "repState");
            return (Criteria) this;
        }

        public Criteria andRepStateNotIn(List<Integer> values) {
            addCriterion("rep_state not in", values, "repState");
            return (Criteria) this;
        }

        public Criteria andRepStateBetween(Integer value1, Integer value2) {
            addCriterion("rep_state between", value1, value2, "repState");
            return (Criteria) this;
        }

        public Criteria andRepStateNotBetween(Integer value1, Integer value2) {
            addCriterion("rep_state not between", value1, value2, "repState");
            return (Criteria) this;
        }

        public Criteria andRepTimeIsNull() {
            addCriterion("rep_time is null");
            return (Criteria) this;
        }

        public Criteria andRepTimeIsNotNull() {
            addCriterion("rep_time is not null");
            return (Criteria) this;
        }

        public Criteria andRepTimeEqualTo(Date value) {
            addCriterion("rep_time =", value, "repTime");
            return (Criteria) this;
        }

        public Criteria andRepTimeNotEqualTo(Date value) {
            addCriterion("rep_time <>", value, "repTime");
            return (Criteria) this;
        }

        public Criteria andRepTimeGreaterThan(Date value) {
            addCriterion("rep_time >", value, "repTime");
            return (Criteria) this;
        }

        public Criteria andRepTimeGreaterThanOrEqualTo(Date value) {
            addCriterion("rep_time >=", value, "repTime");
            return (Criteria) this;
        }

        public Criteria andRepTimeLessThan(Date value) {
            addCriterion("rep_time <", value, "repTime");
            return (Criteria) this;
        }

        public Criteria andRepTimeLessThanOrEqualTo(Date value) {
            addCriterion("rep_time <=", value, "repTime");
            return (Criteria) this;
        }

        public Criteria andRepTimeIn(List<Date> values) {
            addCriterion("rep_time in", values, "repTime");
            return (Criteria) this;
        }

        public Criteria andRepTimeNotIn(List<Date> values) {
            addCriterion("rep_time not in", values, "repTime");
            return (Criteria) this;
        }

        public Criteria andRepTimeBetween(Date value1, Date value2) {
            addCriterion("rep_time between", value1, value2, "repTime");
            return (Criteria) this;
        }

        public Criteria andRepTimeNotBetween(Date value1, Date value2) {
            addCriterion("rep_time not between", value1, value2, "repTime");
            return (Criteria) this;
        }

        public Criteria andRepStartTimeIsNull() {
            addCriterion("rep_start_time is null");
            return (Criteria) this;
        }

        public Criteria andRepStartTimeIsNotNull() {
            addCriterion("rep_start_time is not null");
            return (Criteria) this;
        }

        public Criteria andRepStartTimeEqualTo(Date value) {
            addCriterion("rep_start_time =", value, "repStartTime");
            return (Criteria) this;
        }

        public Criteria andRepStartTimeNotEqualTo(Date value) {
            addCriterion("rep_start_time <>", value, "repStartTime");
            return (Criteria) this;
        }

        public Criteria andRepStartTimeGreaterThan(Date value) {
            addCriterion("rep_start_time >", value, "repStartTime");
            return (Criteria) this;
        }

        public Criteria andRepStartTimeGreaterThanOrEqualTo(Date value) {
            addCriterion("rep_start_time >=", value, "repStartTime");
            return (Criteria) this;
        }

        public Criteria andRepStartTimeLessThan(Date value) {
            addCriterion("rep_start_time <", value, "repStartTime");
            return (Criteria) this;
        }

        public Criteria andRepStartTimeLessThanOrEqualTo(Date value) {
            addCriterion("rep_start_time <=", value, "repStartTime");
            return (Criteria) this;
        }

        public Criteria andRepStartTimeIn(List<Date> values) {
            addCriterion("rep_start_time in", values, "repStartTime");
            return (Criteria) this;
        }

        public Criteria andRepStartTimeNotIn(List<Date> values) {
            addCriterion("rep_start_time not in", values, "repStartTime");
            return (Criteria) this;
        }

        public Criteria andRepStartTimeBetween(Date value1, Date value2) {
            addCriterion("rep_start_time between", value1, value2, "repStartTime");
            return (Criteria) this;
        }

        public Criteria andRepStartTimeNotBetween(Date value1, Date value2) {
            addCriterion("rep_start_time not between", value1, value2, "repStartTime");
            return (Criteria) this;
        }

        public Criteria andRepEndTimeIsNull() {
            addCriterion("rep_end_time is null");
            return (Criteria) this;
        }

        public Criteria andRepEndTimeIsNotNull() {
            addCriterion("rep_end_time is not null");
            return (Criteria) this;
        }

        public Criteria andRepEndTimeEqualTo(Date value) {
            addCriterion("rep_end_time =", value, "repEndTime");
            return (Criteria) this;
        }

        public Criteria andRepEndTimeNotEqualTo(Date value) {
            addCriterion("rep_end_time <>", value, "repEndTime");
            return (Criteria) this;
        }

        public Criteria andRepEndTimeGreaterThan(Date value) {
            addCriterion("rep_end_time >", value, "repEndTime");
            return (Criteria) this;
        }

        public Criteria andRepEndTimeGreaterThanOrEqualTo(Date value) {
            addCriterion("rep_end_time >=", value, "repEndTime");
            return (Criteria) this;
        }

        public Criteria andRepEndTimeLessThan(Date value) {
            addCriterion("rep_end_time <", value, "repEndTime");
            return (Criteria) this;
        }

        public Criteria andRepEndTimeLessThanOrEqualTo(Date value) {
            addCriterion("rep_end_time <=", value, "repEndTime");
            return (Criteria) this;
        }

        public Criteria andRepEndTimeIn(List<Date> values) {
            addCriterion("rep_end_time in", values, "repEndTime");
            return (Criteria) this;
        }

        public Criteria andRepEndTimeNotIn(List<Date> values) {
            addCriterion("rep_end_time not in", values, "repEndTime");
            return (Criteria) this;
        }

        public Criteria andRepEndTimeBetween(Date value1, Date value2) {
            addCriterion("rep_end_time between", value1, value2, "repEndTime");
            return (Criteria) this;
        }

        public Criteria andRepEndTimeNotBetween(Date value1, Date value2) {
            addCriterion("rep_end_time not between", value1, value2, "repEndTime");
            return (Criteria) this;
        }

        public Criteria andMaintenEmployeeUsersIdIsNull() {
            addCriterion("mainten_employee_users_id is null");
            return (Criteria) this;
        }

        public Criteria andMaintenEmployeeUsersIdIsNotNull() {
            addCriterion("mainten_employee_users_id is not null");
            return (Criteria) this;
        }

        public Criteria andMaintenEmployeeUsersIdEqualTo(String value) {
            addCriterion("mainten_employee_users_id =", value, "maintenEmployeeUsersId");
            return (Criteria) this;
        }

        public Criteria andMaintenEmployeeUsersIdNotEqualTo(String value) {
            addCriterion("mainten_employee_users_id <>", value, "maintenEmployeeUsersId");
            return (Criteria) this;
        }

        public Criteria andMaintenEmployeeUsersIdGreaterThan(String value) {
            addCriterion("mainten_employee_users_id >", value, "maintenEmployeeUsersId");
            return (Criteria) this;
        }

        public Criteria andMaintenEmployeeUsersIdGreaterThanOrEqualTo(String value) {
            addCriterion("mainten_employee_users_id >=", value, "maintenEmployeeUsersId");
            return (Criteria) this;
        }

        public Criteria andMaintenEmployeeUsersIdLessThan(String value) {
            addCriterion("mainten_employee_users_id <", value, "maintenEmployeeUsersId");
            return (Criteria) this;
        }

        public Criteria andMaintenEmployeeUsersIdLessThanOrEqualTo(String value) {
            addCriterion("mainten_employee_users_id <=", value, "maintenEmployeeUsersId");
            return (Criteria) this;
        }

        public Criteria andMaintenEmployeeUsersIdLike(String value) {
            addCriterion("mainten_employee_users_id like", value, "maintenEmployeeUsersId");
            return (Criteria) this;
        }

        public Criteria andMaintenEmployeeUsersIdNotLike(String value) {
            addCriterion("mainten_employee_users_id not like", value, "maintenEmployeeUsersId");
            return (Criteria) this;
        }

        public Criteria andMaintenEmployeeUsersIdIn(List<String> values) {
            addCriterion("mainten_employee_users_id in", values, "maintenEmployeeUsersId");
            return (Criteria) this;
        }

        public Criteria andMaintenEmployeeUsersIdNotIn(List<String> values) {
            addCriterion("mainten_employee_users_id not in", values, "maintenEmployeeUsersId");
            return (Criteria) this;
        }

        public Criteria andMaintenEmployeeUsersIdBetween(String value1, String value2) {
            addCriterion("mainten_employee_users_id between", value1, value2, "maintenEmployeeUsersId");
            return (Criteria) this;
        }

        public Criteria andMaintenEmployeeUsersIdNotBetween(String value1, String value2) {
            addCriterion("mainten_employee_users_id not between", value1, value2, "maintenEmployeeUsersId");
            return (Criteria) this;
        }

        public Criteria andMaintenEmployeeIdIsNull() {
            addCriterion("mainten_employee_id is null");
            return (Criteria) this;
        }

        public Criteria andMaintenEmployeeIdIsNotNull() {
            addCriterion("mainten_employee_id is not null");
            return (Criteria) this;
        }

        public Criteria andMaintenEmployeeIdEqualTo(Long value) {
            addCriterion("mainten_employee_id =", value, "maintenEmployeeId");
            return (Criteria) this;
        }

        public Criteria andMaintenEmployeeIdNotEqualTo(Long value) {
            addCriterion("mainten_employee_id <>", value, "maintenEmployeeId");
            return (Criteria) this;
        }

        public Criteria andMaintenEmployeeIdGreaterThan(Long value) {
            addCriterion("mainten_employee_id >", value, "maintenEmployeeId");
            return (Criteria) this;
        }

        public Criteria andMaintenEmployeeIdGreaterThanOrEqualTo(Long value) {
            addCriterion("mainten_employee_id >=", value, "maintenEmployeeId");
            return (Criteria) this;
        }

        public Criteria andMaintenEmployeeIdLessThan(Long value) {
            addCriterion("mainten_employee_id <", value, "maintenEmployeeId");
            return (Criteria) this;
        }

        public Criteria andMaintenEmployeeIdLessThanOrEqualTo(Long value) {
            addCriterion("mainten_employee_id <=", value, "maintenEmployeeId");
            return (Criteria) this;
        }

        public Criteria andMaintenEmployeeIdIn(List<Long> values) {
            addCriterion("mainten_employee_id in", values, "maintenEmployeeId");
            return (Criteria) this;
        }

        public Criteria andMaintenEmployeeIdNotIn(List<Long> values) {
            addCriterion("mainten_employee_id not in", values, "maintenEmployeeId");
            return (Criteria) this;
        }

        public Criteria andMaintenEmployeeIdBetween(Long value1, Long value2) {
            addCriterion("mainten_employee_id between", value1, value2, "maintenEmployeeId");
            return (Criteria) this;
        }

        public Criteria andMaintenEmployeeIdNotBetween(Long value1, Long value2) {
            addCriterion("mainten_employee_id not between", value1, value2, "maintenEmployeeId");
            return (Criteria) this;
        }

        public Criteria andAcceptEmployeeIdIsNull() {
            addCriterion("accept_employee_id is null");
            return (Criteria) this;
        }

        public Criteria andAcceptEmployeeIdIsNotNull() {
            addCriterion("accept_employee_id is not null");
            return (Criteria) this;
        }

        public Criteria andAcceptEmployeeIdEqualTo(Long value) {
            addCriterion("accept_employee_id =", value, "acceptEmployeeId");
            return (Criteria) this;
        }

        public Criteria andAcceptEmployeeIdNotEqualTo(Long value) {
            addCriterion("accept_employee_id <>", value, "acceptEmployeeId");
            return (Criteria) this;
        }

        public Criteria andAcceptEmployeeIdGreaterThan(Long value) {
            addCriterion("accept_employee_id >", value, "acceptEmployeeId");
            return (Criteria) this;
        }

        public Criteria andAcceptEmployeeIdGreaterThanOrEqualTo(Long value) {
            addCriterion("accept_employee_id >=", value, "acceptEmployeeId");
            return (Criteria) this;
        }

        public Criteria andAcceptEmployeeIdLessThan(Long value) {
            addCriterion("accept_employee_id <", value, "acceptEmployeeId");
            return (Criteria) this;
        }

        public Criteria andAcceptEmployeeIdLessThanOrEqualTo(Long value) {
            addCriterion("accept_employee_id <=", value, "acceptEmployeeId");
            return (Criteria) this;
        }

        public Criteria andAcceptEmployeeIdIn(List<Long> values) {
            addCriterion("accept_employee_id in", values, "acceptEmployeeId");
            return (Criteria) this;
        }

        public Criteria andAcceptEmployeeIdNotIn(List<Long> values) {
            addCriterion("accept_employee_id not in", values, "acceptEmployeeId");
            return (Criteria) this;
        }

        public Criteria andAcceptEmployeeIdBetween(Long value1, Long value2) {
            addCriterion("accept_employee_id between", value1, value2, "acceptEmployeeId");
            return (Criteria) this;
        }

        public Criteria andAcceptEmployeeIdNotBetween(Long value1, Long value2) {
            addCriterion("accept_employee_id not between", value1, value2, "acceptEmployeeId");
            return (Criteria) this;
        }

        public Criteria andAnnounceEmployeeIdIsNull() {
            addCriterion("announce_employee_id is null");
            return (Criteria) this;
        }

        public Criteria andAnnounceEmployeeIdIsNotNull() {
            addCriterion("announce_employee_id is not null");
            return (Criteria) this;
        }

        public Criteria andAnnounceEmployeeIdEqualTo(Long value) {
            addCriterion("announce_employee_id =", value, "announceEmployeeId");
            return (Criteria) this;
        }

        public Criteria andAnnounceEmployeeIdNotEqualTo(Long value) {
            addCriterion("announce_employee_id <>", value, "announceEmployeeId");
            return (Criteria) this;
        }

        public Criteria andAnnounceEmployeeIdGreaterThan(Long value) {
            addCriterion("announce_employee_id >", value, "announceEmployeeId");
            return (Criteria) this;
        }

        public Criteria andAnnounceEmployeeIdGreaterThanOrEqualTo(Long value) {
            addCriterion("announce_employee_id >=", value, "announceEmployeeId");
            return (Criteria) this;
        }

        public Criteria andAnnounceEmployeeIdLessThan(Long value) {
            addCriterion("announce_employee_id <", value, "announceEmployeeId");
            return (Criteria) this;
        }

        public Criteria andAnnounceEmployeeIdLessThanOrEqualTo(Long value) {
            addCriterion("announce_employee_id <=", value, "announceEmployeeId");
            return (Criteria) this;
        }

        public Criteria andAnnounceEmployeeIdIn(List<Long> values) {
            addCriterion("announce_employee_id in", values, "announceEmployeeId");
            return (Criteria) this;
        }

        public Criteria andAnnounceEmployeeIdNotIn(List<Long> values) {
            addCriterion("announce_employee_id not in", values, "announceEmployeeId");
            return (Criteria) this;
        }

        public Criteria andAnnounceEmployeeIdBetween(Long value1, Long value2) {
            addCriterion("announce_employee_id between", value1, value2, "announceEmployeeId");
            return (Criteria) this;
        }

        public Criteria andAnnounceEmployeeIdNotBetween(Long value1, Long value2) {
            addCriterion("announce_employee_id not between", value1, value2, "announceEmployeeId");
            return (Criteria) this;
        }

        public Criteria andSourceCodeIsNull() {
            addCriterion("source_code is null");
            return (Criteria) this;
        }

        public Criteria andSourceCodeIsNotNull() {
            addCriterion("source_code is not null");
            return (Criteria) this;
        }

        public Criteria andSourceCodeEqualTo(String value) {
            addCriterion("source_code =", value, "sourceCode");
            return (Criteria) this;
        }

        public Criteria andSourceCodeNotEqualTo(String value) {
            addCriterion("source_code <>", value, "sourceCode");
            return (Criteria) this;
        }

        public Criteria andSourceCodeGreaterThan(String value) {
            addCriterion("source_code >", value, "sourceCode");
            return (Criteria) this;
        }

        public Criteria andSourceCodeGreaterThanOrEqualTo(String value) {
            addCriterion("source_code >=", value, "sourceCode");
            return (Criteria) this;
        }

        public Criteria andSourceCodeLessThan(String value) {
            addCriterion("source_code <", value, "sourceCode");
            return (Criteria) this;
        }

        public Criteria andSourceCodeLessThanOrEqualTo(String value) {
            addCriterion("source_code <=", value, "sourceCode");
            return (Criteria) this;
        }

        public Criteria andSourceCodeLike(String value) {
            addCriterion("source_code like", value, "sourceCode");
            return (Criteria) this;
        }

        public Criteria andSourceCodeNotLike(String value) {
            addCriterion("source_code not like", value, "sourceCode");
            return (Criteria) this;
        }

        public Criteria andSourceCodeIn(List<String> values) {
            addCriterion("source_code in", values, "sourceCode");
            return (Criteria) this;
        }

        public Criteria andSourceCodeNotIn(List<String> values) {
            addCriterion("source_code not in", values, "sourceCode");
            return (Criteria) this;
        }

        public Criteria andSourceCodeBetween(String value1, String value2) {
            addCriterion("source_code between", value1, value2, "sourceCode");
            return (Criteria) this;
        }

        public Criteria andSourceCodeNotBetween(String value1, String value2) {
            addCriterion("source_code not between", value1, value2, "sourceCode");
            return (Criteria) this;
        }

        public Criteria andSourceTypeIsNull() {
            addCriterion("source_type is null");
            return (Criteria) this;
        }

        public Criteria andSourceTypeIsNotNull() {
            addCriterion("source_type is not null");
            return (Criteria) this;
        }

        public Criteria andSourceTypeEqualTo(Integer value) {
            addCriterion("source_type =", value, "sourceType");
            return (Criteria) this;
        }

        public Criteria andSourceTypeNotEqualTo(Integer value) {
            addCriterion("source_type <>", value, "sourceType");
            return (Criteria) this;
        }

        public Criteria andSourceTypeGreaterThan(Integer value) {
            addCriterion("source_type >", value, "sourceType");
            return (Criteria) this;
        }

        public Criteria andSourceTypeGreaterThanOrEqualTo(Integer value) {
            addCriterion("source_type >=", value, "sourceType");
            return (Criteria) this;
        }

        public Criteria andSourceTypeLessThan(Integer value) {
            addCriterion("source_type <", value, "sourceType");
            return (Criteria) this;
        }

        public Criteria andSourceTypeLessThanOrEqualTo(Integer value) {
            addCriterion("source_type <=", value, "sourceType");
            return (Criteria) this;
        }

        public Criteria andSourceTypeIn(List<Integer> values) {
            addCriterion("source_type in", values, "sourceType");
            return (Criteria) this;
        }

        public Criteria andSourceTypeNotIn(List<Integer> values) {
            addCriterion("source_type not in", values, "sourceType");
            return (Criteria) this;
        }

        public Criteria andSourceTypeBetween(Integer value1, Integer value2) {
            addCriterion("source_type between", value1, value2, "sourceType");
            return (Criteria) this;
        }

        public Criteria andSourceTypeNotBetween(Integer value1, Integer value2) {
            addCriterion("source_type not between", value1, value2, "sourceType");
            return (Criteria) this;
        }

        public Criteria andEstimatedWorkHourIsNull() {
            addCriterion("estimated_work_hour is null");
            return (Criteria) this;
        }

        public Criteria andEstimatedWorkHourIsNotNull() {
            addCriterion("estimated_work_hour is not null");
            return (Criteria) this;
        }

        public Criteria andEstimatedWorkHourEqualTo(Integer value) {
            addCriterion("estimated_work_hour =", value, "estimatedWorkHour");
            return (Criteria) this;
        }

        public Criteria andEstimatedWorkHourNotEqualTo(Integer value) {
            addCriterion("estimated_work_hour <>", value, "estimatedWorkHour");
            return (Criteria) this;
        }

        public Criteria andEstimatedWorkHourGreaterThan(Integer value) {
            addCriterion("estimated_work_hour >", value, "estimatedWorkHour");
            return (Criteria) this;
        }

        public Criteria andEstimatedWorkHourGreaterThanOrEqualTo(Integer value) {
            addCriterion("estimated_work_hour >=", value, "estimatedWorkHour");
            return (Criteria) this;
        }

        public Criteria andEstimatedWorkHourLessThan(Integer value) {
            addCriterion("estimated_work_hour <", value, "estimatedWorkHour");
            return (Criteria) this;
        }

        public Criteria andEstimatedWorkHourLessThanOrEqualTo(Integer value) {
            addCriterion("estimated_work_hour <=", value, "estimatedWorkHour");
            return (Criteria) this;
        }

        public Criteria andEstimatedWorkHourIn(List<Integer> values) {
            addCriterion("estimated_work_hour in", values, "estimatedWorkHour");
            return (Criteria) this;
        }

        public Criteria andEstimatedWorkHourNotIn(List<Integer> values) {
            addCriterion("estimated_work_hour not in", values, "estimatedWorkHour");
            return (Criteria) this;
        }

        public Criteria andEstimatedWorkHourBetween(Integer value1, Integer value2) {
            addCriterion("estimated_work_hour between", value1, value2, "estimatedWorkHour");
            return (Criteria) this;
        }

        public Criteria andEstimatedWorkHourNotBetween(Integer value1, Integer value2) {
            addCriterion("estimated_work_hour not between", value1, value2, "estimatedWorkHour");
            return (Criteria) this;
        }

        public Criteria andWorkHourSecondIsNull() {
            addCriterion("work_hour_second is null");
            return (Criteria) this;
        }

        public Criteria andWorkHourSecondIsNotNull() {
            addCriterion("work_hour_second is not null");
            return (Criteria) this;
        }

        public Criteria andWorkHourSecondEqualTo(Long value) {
            addCriterion("work_hour_second =", value, "workHourSecond");
            return (Criteria) this;
        }

        public Criteria andWorkHourSecondNotEqualTo(Long value) {
            addCriterion("work_hour_second <>", value, "workHourSecond");
            return (Criteria) this;
        }

        public Criteria andWorkHourSecondGreaterThan(Long value) {
            addCriterion("work_hour_second >", value, "workHourSecond");
            return (Criteria) this;
        }

        public Criteria andWorkHourSecondGreaterThanOrEqualTo(Long value) {
            addCriterion("work_hour_second >=", value, "workHourSecond");
            return (Criteria) this;
        }

        public Criteria andWorkHourSecondLessThan(Long value) {
            addCriterion("work_hour_second <", value, "workHourSecond");
            return (Criteria) this;
        }

        public Criteria andWorkHourSecondLessThanOrEqualTo(Long value) {
            addCriterion("work_hour_second <=", value, "workHourSecond");
            return (Criteria) this;
        }

        public Criteria andWorkHourSecondIn(List<Long> values) {
            addCriterion("work_hour_second in", values, "workHourSecond");
            return (Criteria) this;
        }

        public Criteria andWorkHourSecondNotIn(List<Long> values) {
            addCriterion("work_hour_second not in", values, "workHourSecond");
            return (Criteria) this;
        }

        public Criteria andWorkHourSecondBetween(Long value1, Long value2) {
            addCriterion("work_hour_second between", value1, value2, "workHourSecond");
            return (Criteria) this;
        }

        public Criteria andWorkHourSecondNotBetween(Long value1, Long value2) {
            addCriterion("work_hour_second not between", value1, value2, "workHourSecond");
            return (Criteria) this;
        }

        public Criteria andIsWarehouseIsNull() {
            addCriterion("is_warehouse is null");
            return (Criteria) this;
        }

        public Criteria andIsWarehouseIsNotNull() {
            addCriterion("is_warehouse is not null");
            return (Criteria) this;
        }

        public Criteria andIsWarehouseEqualTo(Integer value) {
            addCriterion("is_warehouse =", value, "isWarehouse");
            return (Criteria) this;
        }

        public Criteria andIsWarehouseNotEqualTo(Integer value) {
            addCriterion("is_warehouse <>", value, "isWarehouse");
            return (Criteria) this;
        }

        public Criteria andIsWarehouseGreaterThan(Integer value) {
            addCriterion("is_warehouse >", value, "isWarehouse");
            return (Criteria) this;
        }

        public Criteria andIsWarehouseGreaterThanOrEqualTo(Integer value) {
            addCriterion("is_warehouse >=", value, "isWarehouse");
            return (Criteria) this;
        }

        public Criteria andIsWarehouseLessThan(Integer value) {
            addCriterion("is_warehouse <", value, "isWarehouse");
            return (Criteria) this;
        }

        public Criteria andIsWarehouseLessThanOrEqualTo(Integer value) {
            addCriterion("is_warehouse <=", value, "isWarehouse");
            return (Criteria) this;
        }

        public Criteria andIsWarehouseIn(List<Integer> values) {
            addCriterion("is_warehouse in", values, "isWarehouse");
            return (Criteria) this;
        }

        public Criteria andIsWarehouseNotIn(List<Integer> values) {
            addCriterion("is_warehouse not in", values, "isWarehouse");
            return (Criteria) this;
        }

        public Criteria andIsWarehouseBetween(Integer value1, Integer value2) {
            addCriterion("is_warehouse between", value1, value2, "isWarehouse");
            return (Criteria) this;
        }

        public Criteria andIsWarehouseNotBetween(Integer value1, Integer value2) {
            addCriterion("is_warehouse not between", value1, value2, "isWarehouse");
            return (Criteria) this;
        }

        public Criteria andIsTimeoutIsNull() {
            addCriterion("is_timeout is null");
            return (Criteria) this;
        }

        public Criteria andIsTimeoutIsNotNull() {
            addCriterion("is_timeout is not null");
            return (Criteria) this;
        }

        public Criteria andIsTimeoutEqualTo(Integer value) {
            addCriterion("is_timeout =", value, "isTimeout");
            return (Criteria) this;
        }

        public Criteria andIsTimeoutNotEqualTo(Integer value) {
            addCriterion("is_timeout <>", value, "isTimeout");
            return (Criteria) this;
        }

        public Criteria andIsTimeoutGreaterThan(Integer value) {
            addCriterion("is_timeout >", value, "isTimeout");
            return (Criteria) this;
        }

        public Criteria andIsTimeoutGreaterThanOrEqualTo(Integer value) {
            addCriterion("is_timeout >=", value, "isTimeout");
            return (Criteria) this;
        }

        public Criteria andIsTimeoutLessThan(Integer value) {
            addCriterion("is_timeout <", value, "isTimeout");
            return (Criteria) this;
        }

        public Criteria andIsTimeoutLessThanOrEqualTo(Integer value) {
            addCriterion("is_timeout <=", value, "isTimeout");
            return (Criteria) this;
        }

        public Criteria andIsTimeoutIn(List<Integer> values) {
            addCriterion("is_timeout in", values, "isTimeout");
            return (Criteria) this;
        }

        public Criteria andIsTimeoutNotIn(List<Integer> values) {
            addCriterion("is_timeout not in", values, "isTimeout");
            return (Criteria) this;
        }

        public Criteria andIsTimeoutBetween(Integer value1, Integer value2) {
            addCriterion("is_timeout between", value1, value2, "isTimeout");
            return (Criteria) this;
        }

        public Criteria andIsTimeoutNotBetween(Integer value1, Integer value2) {
            addCriterion("is_timeout not between", value1, value2, "isTimeout");
            return (Criteria) this;
        }

        public Criteria andIsAcdTimeoutIsNull() {
            addCriterion("is_acd_timeout is null");
            return (Criteria) this;
        }

        public Criteria andIsAcdTimeoutIsNotNull() {
            addCriterion("is_acd_timeout is not null");
            return (Criteria) this;
        }

        public Criteria andIsAcdTimeoutEqualTo(Integer value) {
            addCriterion("is_acd_timeout =", value, "isAcdTimeout");
            return (Criteria) this;
        }

        public Criteria andIsAcdTimeoutNotEqualTo(Integer value) {
            addCriterion("is_acd_timeout <>", value, "isAcdTimeout");
            return (Criteria) this;
        }

        public Criteria andIsAcdTimeoutGreaterThan(Integer value) {
            addCriterion("is_acd_timeout >", value, "isAcdTimeout");
            return (Criteria) this;
        }

        public Criteria andIsAcdTimeoutGreaterThanOrEqualTo(Integer value) {
            addCriterion("is_acd_timeout >=", value, "isAcdTimeout");
            return (Criteria) this;
        }

        public Criteria andIsAcdTimeoutLessThan(Integer value) {
            addCriterion("is_acd_timeout <", value, "isAcdTimeout");
            return (Criteria) this;
        }

        public Criteria andIsAcdTimeoutLessThanOrEqualTo(Integer value) {
            addCriterion("is_acd_timeout <=", value, "isAcdTimeout");
            return (Criteria) this;
        }

        public Criteria andIsAcdTimeoutIn(List<Integer> values) {
            addCriterion("is_acd_timeout in", values, "isAcdTimeout");
            return (Criteria) this;
        }

        public Criteria andIsAcdTimeoutNotIn(List<Integer> values) {
            addCriterion("is_acd_timeout not in", values, "isAcdTimeout");
            return (Criteria) this;
        }

        public Criteria andIsAcdTimeoutBetween(Integer value1, Integer value2) {
            addCriterion("is_acd_timeout between", value1, value2, "isAcdTimeout");
            return (Criteria) this;
        }

        public Criteria andIsAcdTimeoutNotBetween(Integer value1, Integer value2) {
            addCriterion("is_acd_timeout not between", value1, value2, "isAcdTimeout");
            return (Criteria) this;
        }

        public Criteria andIsEvaluateIsNull() {
            addCriterion("is_evaluate is null");
            return (Criteria) this;
        }

        public Criteria andIsEvaluateIsNotNull() {
            addCriterion("is_evaluate is not null");
            return (Criteria) this;
        }

        public Criteria andIsEvaluateEqualTo(Integer value) {
            addCriterion("is_evaluate =", value, "isEvaluate");
            return (Criteria) this;
        }

        public Criteria andIsEvaluateNotEqualTo(Integer value) {
            addCriterion("is_evaluate <>", value, "isEvaluate");
            return (Criteria) this;
        }

        public Criteria andIsEvaluateGreaterThan(Integer value) {
            addCriterion("is_evaluate >", value, "isEvaluate");
            return (Criteria) this;
        }

        public Criteria andIsEvaluateGreaterThanOrEqualTo(Integer value) {
            addCriterion("is_evaluate >=", value, "isEvaluate");
            return (Criteria) this;
        }

        public Criteria andIsEvaluateLessThan(Integer value) {
            addCriterion("is_evaluate <", value, "isEvaluate");
            return (Criteria) this;
        }

        public Criteria andIsEvaluateLessThanOrEqualTo(Integer value) {
            addCriterion("is_evaluate <=", value, "isEvaluate");
            return (Criteria) this;
        }

        public Criteria andIsEvaluateIn(List<Integer> values) {
            addCriterion("is_evaluate in", values, "isEvaluate");
            return (Criteria) this;
        }

        public Criteria andIsEvaluateNotIn(List<Integer> values) {
            addCriterion("is_evaluate not in", values, "isEvaluate");
            return (Criteria) this;
        }

        public Criteria andIsEvaluateBetween(Integer value1, Integer value2) {
            addCriterion("is_evaluate between", value1, value2, "isEvaluate");
            return (Criteria) this;
        }

        public Criteria andIsEvaluateNotBetween(Integer value1, Integer value2) {
            addCriterion("is_evaluate not between", value1, value2, "isEvaluate");
            return (Criteria) this;
        }

        public Criteria andCreateByIsNull() {
            addCriterion("create_by is null");
            return (Criteria) this;
        }

        public Criteria andCreateByIsNotNull() {
            addCriterion("create_by is not null");
            return (Criteria) this;
        }

        public Criteria andCreateByEqualTo(String value) {
            addCriterion("create_by =", value, "createBy");
            return (Criteria) this;
        }

        public Criteria andCreateByNotEqualTo(String value) {
            addCriterion("create_by <>", value, "createBy");
            return (Criteria) this;
        }

        public Criteria andCreateByGreaterThan(String value) {
            addCriterion("create_by >", value, "createBy");
            return (Criteria) this;
        }

        public Criteria andCreateByGreaterThanOrEqualTo(String value) {
            addCriterion("create_by >=", value, "createBy");
            return (Criteria) this;
        }

        public Criteria andCreateByLessThan(String value) {
            addCriterion("create_by <", value, "createBy");
            return (Criteria) this;
        }

        public Criteria andCreateByLessThanOrEqualTo(String value) {
            addCriterion("create_by <=", value, "createBy");
            return (Criteria) this;
        }

        public Criteria andCreateByLike(String value) {
            addCriterion("create_by like", value, "createBy");
            return (Criteria) this;
        }

        public Criteria andCreateByNotLike(String value) {
            addCriterion("create_by not like", value, "createBy");
            return (Criteria) this;
        }

        public Criteria andCreateByIn(List<String> values) {
            addCriterion("create_by in", values, "createBy");
            return (Criteria) this;
        }

        public Criteria andCreateByNotIn(List<String> values) {
            addCriterion("create_by not in", values, "createBy");
            return (Criteria) this;
        }

        public Criteria andCreateByBetween(String value1, String value2) {
            addCriterion("create_by between", value1, value2, "createBy");
            return (Criteria) this;
        }

        public Criteria andCreateByNotBetween(String value1, String value2) {
            addCriterion("create_by not between", value1, value2, "createBy");
            return (Criteria) this;
        }

        public Criteria andCreateTimeIsNull() {
            addCriterion("create_time is null");
            return (Criteria) this;
        }

        public Criteria andCreateTimeIsNotNull() {
            addCriterion("create_time is not null");
            return (Criteria) this;
        }

        public Criteria andCreateTimeEqualTo(Date value) {
            addCriterion("create_time =", value, "createTime");
            return (Criteria) this;
        }

        public Criteria andCreateTimeNotEqualTo(Date value) {
            addCriterion("create_time <>", value, "createTime");
            return (Criteria) this;
        }

        public Criteria andCreateTimeGreaterThan(Date value) {
            addCriterion("create_time >", value, "createTime");
            return (Criteria) this;
        }

        public Criteria andCreateTimeGreaterThanOrEqualTo(Date value) {
            addCriterion("create_time >=", value, "createTime");
            return (Criteria) this;
        }

        public Criteria andCreateTimeLessThan(Date value) {
            addCriterion("create_time <", value, "createTime");
            return (Criteria) this;
        }

        public Criteria andCreateTimeLessThanOrEqualTo(Date value) {
            addCriterion("create_time <=", value, "createTime");
            return (Criteria) this;
        }

        public Criteria andCreateTimeIn(List<Date> values) {
            addCriterion("create_time in", values, "createTime");
            return (Criteria) this;
        }

        public Criteria andCreateTimeNotIn(List<Date> values) {
            addCriterion("create_time not in", values, "createTime");
            return (Criteria) this;
        }

        public Criteria andCreateTimeBetween(Date value1, Date value2) {
            addCriterion("create_time between", value1, value2, "createTime");
            return (Criteria) this;
        }

        public Criteria andCreateTimeNotBetween(Date value1, Date value2) {
            addCriterion("create_time not between", value1, value2, "createTime");
            return (Criteria) this;
        }

        public Criteria andUpdateByIsNull() {
            addCriterion("update_by is null");
            return (Criteria) this;
        }

        public Criteria andUpdateByIsNotNull() {
            addCriterion("update_by is not null");
            return (Criteria) this;
        }

        public Criteria andUpdateByEqualTo(String value) {
            addCriterion("update_by =", value, "updateBy");
            return (Criteria) this;
        }

        public Criteria andUpdateByNotEqualTo(String value) {
            addCriterion("update_by <>", value, "updateBy");
            return (Criteria) this;
        }

        public Criteria andUpdateByGreaterThan(String value) {
            addCriterion("update_by >", value, "updateBy");
            return (Criteria) this;
        }

        public Criteria andUpdateByGreaterThanOrEqualTo(String value) {
            addCriterion("update_by >=", value, "updateBy");
            return (Criteria) this;
        }

        public Criteria andUpdateByLessThan(String value) {
            addCriterion("update_by <", value, "updateBy");
            return (Criteria) this;
        }

        public Criteria andUpdateByLessThanOrEqualTo(String value) {
            addCriterion("update_by <=", value, "updateBy");
            return (Criteria) this;
        }

        public Criteria andUpdateByLike(String value) {
            addCriterion("update_by like", value, "updateBy");
            return (Criteria) this;
        }

        public Criteria andUpdateByNotLike(String value) {
            addCriterion("update_by not like", value, "updateBy");
            return (Criteria) this;
        }

        public Criteria andUpdateByIn(List<String> values) {
            addCriterion("update_by in", values, "updateBy");
            return (Criteria) this;
        }

        public Criteria andUpdateByNotIn(List<String> values) {
            addCriterion("update_by not in", values, "updateBy");
            return (Criteria) this;
        }

        public Criteria andUpdateByBetween(String value1, String value2) {
            addCriterion("update_by between", value1, value2, "updateBy");
            return (Criteria) this;
        }

        public Criteria andUpdateByNotBetween(String value1, String value2) {
            addCriterion("update_by not between", value1, value2, "updateBy");
            return (Criteria) this;
        }

        public Criteria andUpdateTimeIsNull() {
            addCriterion("update_time is null");
            return (Criteria) this;
        }

        public Criteria andUpdateTimeIsNotNull() {
            addCriterion("update_time is not null");
            return (Criteria) this;
        }

        public Criteria andUpdateTimeEqualTo(Date value) {
            addCriterion("update_time =", value, "updateTime");
            return (Criteria) this;
        }

        public Criteria andUpdateTimeNotEqualTo(Date value) {
            addCriterion("update_time <>", value, "updateTime");
            return (Criteria) this;
        }

        public Criteria andUpdateTimeGreaterThan(Date value) {
            addCriterion("update_time >", value, "updateTime");
            return (Criteria) this;
        }

        public Criteria andUpdateTimeGreaterThanOrEqualTo(Date value) {
            addCriterion("update_time >=", value, "updateTime");
            return (Criteria) this;
        }

        public Criteria andUpdateTimeLessThan(Date value) {
            addCriterion("update_time <", value, "updateTime");
            return (Criteria) this;
        }

        public Criteria andUpdateTimeLessThanOrEqualTo(Date value) {
            addCriterion("update_time <=", value, "updateTime");
            return (Criteria) this;
        }

        public Criteria andUpdateTimeIn(List<Date> values) {
            addCriterion("update_time in", values, "updateTime");
            return (Criteria) this;
        }

        public Criteria andUpdateTimeNotIn(List<Date> values) {
            addCriterion("update_time not in", values, "updateTime");
            return (Criteria) this;
        }

        public Criteria andUpdateTimeBetween(Date value1, Date value2) {
            addCriterion("update_time between", value1, value2, "updateTime");
            return (Criteria) this;
        }

        public Criteria andUpdateTimeNotBetween(Date value1, Date value2) {
            addCriterion("update_time not between", value1, value2, "updateTime");
            return (Criteria) this;
        }

        public Criteria andDelFlagIsNull() {
            addCriterion("del_flag is null");
            return (Criteria) this;
        }

        public Criteria andDelFlagIsNotNull() {
            addCriterion("del_flag is not null");
            return (Criteria) this;
        }

        public Criteria andDelFlagEqualTo(Integer value) {
            addCriterion("del_flag =", value, "delFlag");
            return (Criteria) this;
        }

        public Criteria andDelFlagNotEqualTo(Integer value) {
            addCriterion("del_flag <>", value, "delFlag");
            return (Criteria) this;
        }

        public Criteria andDelFlagGreaterThan(Integer value) {
            addCriterion("del_flag >", value, "delFlag");
            return (Criteria) this;
        }

        public Criteria andDelFlagGreaterThanOrEqualTo(Integer value) {
            addCriterion("del_flag >=", value, "delFlag");
            return (Criteria) this;
        }

        public Criteria andDelFlagLessThan(Integer value) {
            addCriterion("del_flag <", value, "delFlag");
            return (Criteria) this;
        }

        public Criteria andDelFlagLessThanOrEqualTo(Integer value) {
            addCriterion("del_flag <=", value, "delFlag");
            return (Criteria) this;
        }

        public Criteria andDelFlagIn(List<Integer> values) {
            addCriterion("del_flag in", values, "delFlag");
            return (Criteria) this;
        }

        public Criteria andDelFlagNotIn(List<Integer> values) {
            addCriterion("del_flag not in", values, "delFlag");
            return (Criteria) this;
        }

        public Criteria andDelFlagBetween(Integer value1, Integer value2) {
            addCriterion("del_flag between", value1, value2, "delFlag");
            return (Criteria) this;
        }

        public Criteria andDelFlagNotBetween(Integer value1, Integer value2) {
            addCriterion("del_flag not between", value1, value2, "delFlag");
            return (Criteria) this;
        }

        public Criteria andVersionIsNull() {
            addCriterion("version is null");
            return (Criteria) this;
        }

        public Criteria andVersionIsNotNull() {
            addCriterion("version is not null");
            return (Criteria) this;
        }

        public Criteria andVersionEqualTo(Integer value) {
            addCriterion("version =", value, "version");
            return (Criteria) this;
        }

        public Criteria andVersionNotEqualTo(Integer value) {
            addCriterion("version <>", value, "version");
            return (Criteria) this;
        }

        public Criteria andVersionGreaterThan(Integer value) {
            addCriterion("version >", value, "version");
            return (Criteria) this;
        }

        public Criteria andVersionGreaterThanOrEqualTo(Integer value) {
            addCriterion("version >=", value, "version");
            return (Criteria) this;
        }

        public Criteria andVersionLessThan(Integer value) {
            addCriterion("version <", value, "version");
            return (Criteria) this;
        }

        public Criteria andVersionLessThanOrEqualTo(Integer value) {
            addCriterion("version <=", value, "version");
            return (Criteria) this;
        }

        public Criteria andVersionIn(List<Integer> values) {
            addCriterion("version in", values, "version");
            return (Criteria) this;
        }

        public Criteria andVersionNotIn(List<Integer> values) {
            addCriterion("version not in", values, "version");
            return (Criteria) this;
        }

        public Criteria andVersionBetween(Integer value1, Integer value2) {
            addCriterion("version between", value1, value2, "version");
            return (Criteria) this;
        }

        public Criteria andVersionNotBetween(Integer value1, Integer value2) {
            addCriterion("version not between", value1, value2, "version");
            return (Criteria) this;
        }
    }

    public static class Criteria extends GeneratedCriteria {

        protected Criteria() {
            super();
        }
    }

    public static class Criterion {
        private String condition;

        private Object value;

        private Object secondValue;

        private boolean noValue;

        private boolean singleValue;

        private boolean betweenValue;

        private boolean listValue;

        private String typeHandler;

        public String getCondition() {
            return condition;
        }

        public Object getValue() {
            return value;
        }

        public Object getSecondValue() {
            return secondValue;
        }

        public boolean isNoValue() {
            return noValue;
        }

        public boolean isSingleValue() {
            return singleValue;
        }

        public boolean isBetweenValue() {
            return betweenValue;
        }

        public boolean isListValue() {
            return listValue;
        }

        public String getTypeHandler() {
            return typeHandler;
        }

        protected Criterion(String condition) {
            super();
            this.condition = condition;
            this.typeHandler = null;
            this.noValue = true;
        }

        protected Criterion(String condition, Object value, String typeHandler) {
            super();
            this.condition = condition;
            this.value = value;
            this.typeHandler = typeHandler;
            if (value instanceof List<?>) {
                this.listValue = true;
            } else {
                this.singleValue = true;
            }
        }

        protected Criterion(String condition, Object value) {
            this(condition, value, null);
        }

        protected Criterion(String condition, Object value, Object secondValue, String typeHandler) {
            super();
            this.condition = condition;
            this.value = value;
            this.secondValue = secondValue;
            this.typeHandler = typeHandler;
            this.betweenValue = true;
        }

        protected Criterion(String condition, Object value, Object secondValue) {
            this(condition, value, secondValue, null);
        }
    }
}